#ifndef RP2RTTI_H
#define RP2RTTI_H

#include "Rp2System.h"
#include "Rp2RttiMCR.h"

namespace Rp2
{
class Rtti 
{
public:
    // The name must be unique among all objects in the system.  In the Wm4
    // namespace, a class Foo should use "Wm4.Foo".  If an application has
    // another namespace, SomeName, then the name should be "SomeName.Foo".
	Rtti(const char* acName, const Rtti* pkBaseType);
	~Rtti();

	const char* GetName() const;
	int GetDiskUsed() const;

	bool IsExactly(const Rtti& rkType) const;
	bool IsDerived(const Rtti& rkType) const;

private:
	const char* m_acName;
	const Rtti* m_pkBaseType;
};
#include "Rp2Rtti.inl"

}

#endif